jenkins maven Spring Boot git Linux持续集成环境搭建教程

        最近工作需要使用jenkins来持续部署Spring Boot项目,在网上爬了很多教程,这方面的教程也不是很多,也掉了很多坑。jenkins要安装起来虽然不难,但也不算太容易。因此萌发了写这篇教程的想法,共享给大家一起进步。

下面我们开始教程


Jenkins简介

          Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作。简单点来讲就是配置好Jenkins以后可以一键发布项目,包括从git master分支拉取最新的代码,然后打包,然后上传到远程Linux服务器发布等一系列步骤它都可以帮你一键完成。这无疑可以省去很多程序员重复性繁琐的操作。特别是对于现在的spring cloud微服务来说,一个项目由多个小项目组成,每个小项目都独立部署,使用jenkins是最好的部署和管理工具了。


本教程分为两部分,第一部分是安装教程,第二部分是使用教程。


第一部分:安装教程

环境和所需软件:centos6.5、tomcat8

前提:请确保你的jdk和maven环境已经安装配置妥当。

一、下载jenkins.war包,war包可以去官网下载,随后我会附上下载链接,可以避免因为版本带来的各种脑残错误。

二、将jenkins.war包放到tomcat webapp的目录下,启动tomcat

三、浏览器访问jenkins。http://192.168.0.101:90/jenkins 。这里我用的是局域网里的Linux,请注意替换成自己的IP,端口号默认是8080,如果没有修改过tomcat则不用更改,我这里是更改过后的端口号。

四、在jenkins中配置jdk和maven


五、安装git plugin插件(用于从git拉取最新的代码)和publish over ssh插件(用于上传打包好的项目到远程Linux)。进入系统管理--管理插件--可选插件,在搜索框里面输入git plugin 和publish over ssh,然后点击安装即可。安装好以后可以在“已安装”选项里面看看是否安装成功。


六、重启tomcat来重启jenkins,让上面两个插件生效。到此jenkins安装完毕,下面开始第二部分--使用教程。


第二部分:使用教程

  其实使用教程也可以分为两步,第一步:jenkins从git master分支抓取最新代码自动构建打包;第二步:将打包好的jar包上传到Linux远程端,关闭正在运行的项目,然后运行新的jar项目。

第一步:

一、打开jenkins首页,点击新建项目


二、输入Item名称,选择maven项目,点击ok


三、配置git。配置后jenkins可自动从指定的git抓取master分支上最新的代码


四、点击add,配置git用户名和密码


五、如果出现下图错误,则证明本机没有配置git ssh key


解决上述ssh key问题,可参考以下教程链接

http://www.linuxidc.com/Linux/2014-10/108080.htm

六、点击保存,至此已经可以实现jenkins从git抓取最新的master分支代码��。点击立即构建。

  点击consoleoutput可看控制台输出信息。如果在这步还报下图错误,这是因为在know_hosts中没有访问git机器的记录。


解决办法:在Linux下git clone访问一次git 所在的机器的项目,如下图。如果你没有出现这个错误,请忽略。


再次启动,点击console output可看到成功启动的信息。


八、至此已完成本教程的第二部分的第一步曲,jenkins从git抓取最新项目然后自动构建打包的过程。从控制台信息中可看出jenkins已经将打好的jar包放在了/root/.jenkins/workspace/..工作空间中。如果你看到了这个图,证明前面的配置都是正确的,可以接着往下走。


第二步:

一、打开jenkins首页,点击系统管理--系统设置,下拉找到找到publish over ssh,进行以下设置(请确保前面的步骤中publish over ssh插件已经安装成功,如果没有发现,那就是还没有安装成功,请返回去安装)。


细心的童鞋可能在这里可能会发现服务器的IP与jenkins安装的IP是一样的,也就是说都是都在同一台机器上,都是192.168.0.101,这是因为刚好只有这台Linux机器比较方便使用,所以就只用这一台机器做实验了。实际上jenkins安装在Windows上或者Linux上,然后项目部署到另外一台Linux,这样都是可以的,也推荐这么干,只要这里的IP换成部署项目的机器IP就可以了

二、进入上面的已经创建好的jenkinsWeb项目,点击配置,下拉找到Post Steps进行配置。

1、点击

如果没找到这项,证明publish over ssh没有安装成功。

2、接着进行下图配置


参数说明:

Transfer SetSource files:表示要上传的本地的jar包及路径,可到工作空间去看。

Remove prefix:表示要上传时要去除的文件夹,即只上传jar包。

remote driectory:即表示执行时的路径,相当于把jar包上传到这里了。

exec commad:要执行的命令脚本。

脚本内容:


将此脚本放于上面的Exec commad路径中。

大概说一下这个脚本的意思,大牛请忽略这段吧。先找到正在运行的jenkins这个项目的ID,然后kill掉这个进程,就可以停掉这个项目了。假如你用的不是springboot项目,则灵活应变,例如tomcat发布的项目可以到tomcat的bin目录下运行shutdown.sh就可以了。然后打开root目录,将jenkins上传好的jar包复制到相应的目录,然后执行bootstrap.sh脚本,我这里的bootstrap.sh脚本是用来启动springboot项目,下面也贴上代码,供大家参考。假如是tomcat,同理到tomcat目录bin目录下执行启动脚本即可。


这里请务必注意第一行,必须制定JAVA_HOME的位置,否则jenkins会报找不到jre的错误。

三、至此,第二步已经配置完毕,点击保存。点击立即构建,点击consoleoutput,就可以看到成功上传jar包到远程Linux并且成功发布项目的信息了。


至此已完成所有jenkins配置。浏览器访问刚才发布的项目


项目代码修改后,只需将代码提交到git master分支,然后登陆jenkins点击立即构建,则可以轻松的进行项目部署。Jenkins亦可进行定时构建部署,当然也可设置当master代码有更新时自动拉取代码进行构建部署,这里就不继续说了。

jenkins下载链接:http://pan.baidu.com/s/1jIx3FcM

教程到此结束,欢迎留言讨论。欢迎转载,转载请务必注明出处。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,706评论 4 366
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,002评论 1 301
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,462评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,375评论 0 216
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,763评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,849评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,033评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,768评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,490评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,734评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,204评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,566评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,227评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,137评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,934评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,926评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,774评论 2 274

推荐阅读更多精彩内容